home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / video / gwars1.000 / gwars1 / GravityWars1.1 / README < prev    next >
Text File  |  1995-11-10  |  12KB  |  419 lines

  1.  
  2.  
  3.                              G R A V I T Y  W A R S
  4.                              ======================
  5.     
  6.                                       v1.1
  7.                                 (November 1995)
  8.  
  9.  
  10.              "A Gravity Force clone for the Linux operating system"
  11.  
  12.                             THIS PROGRAM IS FREEWARE!
  13.  
  14.  
  15.                                     Credits:
  16.  
  17.                          ...Programming by Sami Niemi...
  18.  
  19.                         ...Graphics by PΣr Johannesson...
  20.  
  21.                      ...Title picture by Mattias Johansson...
  22.  
  23.  
  24.     CHANGES
  25.     -------
  26.       v1.0 (June1995) -    The first release version.
  27.  
  28.       (From July1995-April1996 i'll be in the army, which means that
  29.        there won't be to many bug fixes during that time...) 
  30.  
  31.       v1.1 (November1995)- The source is totally reorganized.
  32.                            The timeconsuming floating scoretable is now put
  33.                              into a splitscreen. 
  34.                            New Levels / Gfx.
  35.                            Faster Routines.
  36.                            Some small stuff.
  37.  
  38.       
  39.  
  40.     INTRODUCTION
  41.     ------------
  42.  
  43.     
  44.       Gravity Force is based on Gravity Force, one of the greatest games
  45.    for the Amiga. This version is a little different, with a much higher
  46.    resolution, and better graphics.  It also includes  some new features
  47.    like water, exploding doors, bonus objects, fans (ie. wind), and some
  48.    other special effects like exploding bullets, and splashing water..
  49.    
  50.       Gravity Wars has been developed from scratch by Sami Niemi in June
  51.    1995.  The game comes with a DOS based level editor which is coded by
  52.    PΣr Johannesson,  the gfx dude.  The level editor  hopefully  means a
  53.    longer  lifespan for the game,  since everybody can now design  their
  54.    own levels. I've also included a C source/bin for converting the edi-
  55.    tor output to an object map.  More about that in the technical secti-
  56.    on.  The game also gives a level code, so you can start from the last
  57.    level. 
  58.  
  59.  
  60.  
  61.  
  62.  
  63.     REQUIREMENTS
  64.     ------------
  65.  
  66.      The game (v1.1 or higher) should run on a 386, with enough memory.
  67.     You also need an SVGA card that is  supported by SVGALIB.  The game 
  68.     runs in  UNLINEAR mode, which means that  it should run on all SVGA
  69.     cards. (The unlinear mode also consumes huge amounts of CPU power.)
  70.     The game uses  only the normal VGA functions,  the only  real  SVGA
  71.     funtion sets the screen on..
  72.  
  73.     USAGE
  74.     -----
  75.  
  76.    GravityWars [code-to-a-given-level] [beam-adjustment]
  77.  
  78.      You'll receive the codes after a completed level. The beam-adjust-
  79.    ment is a number somewhere between 0 and 30000,which adjust the ras-
  80.    terbeams position while drawing the graphics. It should be higher on
  81.    fast computers,  and lower on  slow ones (If it's wrong,  the screen
  82.    might flicker a bit). The default is 5000.
  83.  
  84.    HOW TO PLAY
  85.    -----------
  86.  
  87.      The goal is to get all the keys without getting killed. After you've
  88.    picked up the last one, the hidden StarGate opens.  You're supposed to
  89.    fly into it, and it'll  beam you into the next level.  You can pick up
  90.    bonus objects on the way. The round (look kinda like the European Uni-
  91.    on logos) objects are extra lifes. The bottles with an "F" on  contain
  92.    extra fuel. The clocks give you extra time.  Rest of the  objects just 
  93.    give  you points.  You can shoot  yourself through the  red doors (try
  94.    to shoot into the water),  and fill your tank by  landing on the  fuel   
  95.    platform. That should get you started..
  96.  
  97.    CONTROLS
  98.    --------
  99.  
  100.     - Left/Right cursor keys turn the ship. 
  101.     - Forward cursor key turns the throttle on.
  102.     - CTRL shoots.
  103.     - ESC/CTRL-C kills the game.
  104.     - ALT-F1 switches to the first console
  105.        (if you started the game in some other)
  106.  
  107.     POLICY
  108.     ------
  109.  
  110.      The programs  are freeware, but the  graphics are  copyrighted. The 
  111.    game was just put together for fun, and because I haven't really seen
  112.    any quality  games for Linux  yet. (Ofcourse this  one would've  been
  113.    even better if I didn't have to go into the military  service in only 
  114.    two weeks)
  115.  
  116.      Please tell us if you like the game. Suggestions,and bugreports are
  117.    also welcome,  even though response from our side  can take some time 
  118.    due to my military service.
  119.  
  120.  
  121.     TECHNICAL 
  122.     ---------
  123.  
  124.       The game uses a 640*1440 256 color virtual screen, which leaves no
  125.    space for a doublebuffer.  The graphical mode is a  normal NON-Linear
  126.    640*480 screen. I decided to use a NON linear mode(What a sacrifice!)
  127.    to make it possible for people with NON linear gfx cards to also play
  128.    the game. Unfortunately, the NON linear memory is more than ten times
  129.    slower to access, and with it's complex structure even slower to wri-
  130.    te to! (and a LOT harder to code a fast 'blitting' routine for!).
  131.  
  132.       Because of the  slow MEM->VIDEOMEM copying,  it would've been  too
  133.    slow to do a real hardware-software  scrolling, with a double buffer.
  134.    This  means that everything  has to be drawn to the  screen while the
  135.    rasterbeam is far away from the drawn object.. Problems.. As you mig-
  136.    ht know - this is not fully possible...  Atleast not on any slow con-     
  137.    figurations. Sorry about that, but you have to admit that playing the
  138.    game on a standard VGA screen would've been boring...
  139.  
  140.       As you know, Linux is a multitasking OS, which means  that someti-
  141.    mes the OS just wants to do it's little disk access, and 'gives a sh-
  142.    it' about eventual undubbelbuffered games running on it.. (No offence
  143.    on the OS!  I love it,  even though it seems like  it's running a bit
  144.    unevenly, with occational peaks. Any comments from the OS development
  145.    side?) This means even more problems for an undubbelbuffered game, so
  146.    to get the best results (smoothness, with no flicker), you should use
  147.    a fast computer! There is also a  parameter that'll change  the  beam
  148.    tracking position. The default value is 5000. If you have a fast mac-
  149.    hine, you should use a higher value, otherwise same or smaller. 
  150.  
  151.    (The above text is about the v1.0, the newer versions are much faster
  152.    and should run without flicker on slow machines too.)    
  153.  
  154.       The game hasn't been through much beta testing, since I just don't
  155.    have time to supervise the hole thing. My military service in Finland
  156.    starts in 12 days... This also means that the eventual second  better
  157.    version won't be  released for a while,  and that the bugs  won't get
  158.    fixed unless someone living in HELSINKI (where I'm  doing the  manda-
  159.    tory service) with a nice Linux machine let's me use his machine.. ;)
  160.  
  161.    (Yeah.. I'm still in the service... 7th Nov 1995.. What a waste...)
  162.  
  163.  
  164.  
  165.    
  166.     THE LEVEL EDITOR
  167.     ----------------
  168.  
  169.       Not much to say about.  Saves a map containing internal an external
  170.    information about the level. The last part contain the information th-
  171.    at the Converter.c reads, and processes. That data contains 20*45 blo-
  172.    ck numbers.  The blocks are contained in the  data/blocks.gw in my own
  173.    raw image format: 
  174.  
  175.      768 bytes - first palette
  176.      768 bytes - second palette
  177.      ??? bytes - data
  178.  
  179.      data: 
  180.         x size      - 320 pixels
  181.         y size      - 792 pixels
  182.         block_size  - 32*32, separated with a grid to the 'north'
  183.                       and 'west'.
  184.               
  185.         (This means that there are four 320*198 screens attached
  186.         to eachother, with 32*32 blocks starting from the (1,1)
  187.         position, not from (0,0), due to the grid) 
  188.  
  189.      Some important blocks are: (You'd have to use the same colors, be-
  190.    cause of the way the collision controll works.. Ofcourse you can have
  191.    a different palette.)
  192.  
  193.     36-38        background
  194.  
  195.     18-20        Start
  196.  
  197.     41           End
  198.  
  199.     45-50        Ship Explotion
  200.  
  201.     51           Key
  202.  
  203.     54,60,61     Game Over
  204.  
  205.     67,76,85     Out Of Time
  206.  
  207.     68,69,70     Level, Get Ready
  208.     
  209.     67,105,154   Out Of Fuel
  210.     
  211.     108,109,117,
  212.     119,120,122,
  213.     127,130,136,
  214.     139,144,146,
  215.     147,153      Congratulations message
  216.  
  217.     112-116      Water Splash
  218.  
  219.     123-125,
  220.     132-134,
  221.     141-143,
  222.     150-152      Fan Anims   
  223.  
  224.     157-161      Ship Implotion 
  225.     
  226.     170          Water Key
  227.  
  228.     204          Water Background
  229.  
  230.     207          Ship with thrust
  231.     208          Ship
  232.     
  233.     
  234.     So, if you decide to change the graphics to the game, you have to keep
  235.   these blocks. 
  236.  
  237.     The level maps consist of three things:
  238.  
  239.     1. level??.gfx, which contains 20*45 block numbers starting from 0
  240.        meaning the upperleft corner of the blocks.gw
  241.     
  242.     2. level??.obj, which contains the object, water, red wall, etc in-
  243.        formation. Check out the Converter.c source. The only things that
  244.        are not handled by the converter are the wind motions:
  245.  
  246.         Q  W  E   If the ship flies into a block with one of the letters, 
  247.          \ ^ /    it'll be accelerated into the given direction. The Con-
  248.           \|/     verter places an 'S' to the place  where the fan is ro-
  249.        A<--o-->D  tating, so the designer can edit the file easily with a
  250.           /|\     text editor.
  251.          / v \
  252.         Z  X  C
  253.  
  254.     3. level??.dat, which consist of the remarks  on the level, amount of
  255.        fuel, and time at the start, and after explosions.  It also conta-
  256.        ins the animation information:
  257.  
  258.        Starting with 'anim', followed by: (numbers)
  259.  
  260.        X coordinate,
  261.        Y coordinate,
  262.        Start frame times eight,
  263.        Stop frame times eight,
  264.        Actual frame times eight,
  265.        Speed (1,2,4,8,16,32,...) Small numbers are slow, and require less
  266.         processor power.
  267.  
  268.  
  269.        Current animations consist only of these: (plus different explosions)
  270.  
  271.        animation           start   stop 
  272.        -----------------   -----   ----
  273.        Fan blowing down    984     1007
  274.        Fan blowing left    1056    1079
  275.        Fan blowing right   1128    1151
  276.        Fan blowing up      1200    1223
  277.  
  278.    Well, I hope this is enough of information for y'all to get started..
  279.  I hope to see more levels, a new editor, and why not a level to postsc-
  280.  ript converter too.. So you could print out  your favourite  levels.  I 
  281.  don't have time to code anymore on the game,  and the source is not re-
  282.  ally ready for release, so just hang on.. I'll be baeck..
  283.  
  284.  (Ok, so I'm back... Fixed the worst bugs.. So, just fill my mailbox with
  285.   comments...)
  286.  
  287.  
  288.        
  289.  
  290.     TO DO, BUGS
  291.     -----------
  292.  
  293.    Oh.. There are thousands of things to do.. The best thing is that the
  294.  source supports all these features, me and PΣr just haven't had time to
  295.  implement all that. The source supports for example two players, and  a
  296.  magnet object which pulls the ship towards itself etc...  If you'll get
  297.  me encouraged enough, I might just write a much better version. Network
  298.  support is ofcourse one of the top priorities,and should be fairly easy
  299.  to write.      
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.     THANKS
  307.     ------
  308.  
  309.  - Linus Torvalds, for the kernel.
  310.  
  311.  - Harm Hanemaayer, for the svgalib. (Pretty incompatible though.)
  312.  
  313.  - All the other people behind the Linux, and the GNU software.
  314.    (The GCC produces just incredible code!) 
  315.  
  316.  
  317.  
  318.  
  319.    CREDITS
  320.    -------
  321.  
  322.  - Sami Niemi:        Coding, Design, Graphics, Levels
  323.  
  324.  - PΣr Johannesson:   Graphics, Design, Levels
  325.  
  326.  - Mattias Johansson: Title Picture
  327.  
  328.  - Paul Fritzsche:    Levels
  329.  
  330.  
  331.  
  332.  
  333.  
  334.              
  335.     CONTACT ADDRESSES
  336.     -----------------
  337.  
  338.  
  339.  
  340.  
  341.         Sami Niemi (Coding, level design)
  342.         ---------------------------------
  343.  
  344.           Address:      SandvΣgen 4b
  345.                         374 53 Asarum
  346.                         Sweden
  347.  
  348.           Voice:        +46-454-84704
  349.           Fax:          +46-454-84992
  350.  
  351.           email:        sniemi@kuai.se
  352.           WWW:          http://www.kuai.se/~sniemi
  353.           fido:         2:200/701.8
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.         PΣr Johannesson (Graphics, level design)
  361.         ----------------------------------------
  362.  
  363.           Address:        KnΣpparestigen 6
  364.                           374 51 Asarum
  365.                           Sweden.
  366.     
  367.           Voice:          +46-454-87249
  368.           email:          pt95pjo@pt.hk-r.se
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.         Mattias Johansson (Raytraced title picture) 
  376.         ------------------------------------------
  377.  
  378.           FAX:            +46-8-330892
  379.           BBS:            +46-8-54062686
  380.           email:          mjoh@kuai.se
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.